<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用公共文件
namespace app\constant\user {
    // 角色相关
	const USER_ROLE_ADMIN              = 1;           // 管理员
	const USER_ROLE_EXPERT             = 2;           // 专家

	const USER_ROLE_VALUE              =[
	USER_ROLE_ADMIN=>"管理员",
	USER_ROLE_EXPERT=>"专家"];
	
	// 账户状态
	const STATUS_DISABLE               = 0;           // 封禁状态
	const STATUS_NORMAL                = 1;           // 正常账户
	const STATUS_LIMIT_STATE           = 2;           // 限制状态
}

/*
 * API常量
 */
namespace app\constant\api {
	const SUCCESS                      = 1;            // 成功
	const FAIL                         = 0;            // 数据验证未通过使用
	const DATA_INSERT_ERROR            = 6704;         //数据库插入失败
	const DATA_SELECT_NULL             = 6706;          //数据库未查询到数据
	const DATA_SELECT_ERROR            = 6708;         //数据查询失败
	const DATA_DELETE_ERROR            = 6709;         //数据删除失败
	const DATA_UPDATE_ERROR            = 6710;         //数据更新失败
	const INNSERT_DATA_REPEAT          = 6730;          //添加数据重复，请勿重复添加
	const UPDATE_DATA_REPEAT          = 6731;          //已有相同字段数据存在,无法恢复
	const CAPTCHA_INCORRECT          = 1101; // 验证码错误
	const PASS_INCORRECT   = 2202; // 登录密码错误
	const PHONE_EXISTED = 2102; // 手机号码格式错误
	const USER_NOT_EXIST   = 2201; // 用户不存在
	const USER_UP_ERROR   = 2209; // 用户修改角色失败

	const DICTIONARY = [
	        CAPTCHA_INCORRECT            => '验证码错误',
	        PHONE_EXISTED              => '手机号码/账号已注册',
	        USER_NOT_EXIST             => '用户不存在',
	        PASS_INCORRECT             => '登录密码错误',
	        SUCCESS                      =>         '成功',
			FAIL                         =>         '数据验证未通过使用',
		    DATA_INSERT_ERROR            =>'数据库插入失败',
			DATA_SELECT_NULL             =>'数据库未查询到数据',
			DATA_SELECT_ERROR            =>'数据查询失败',
			DATA_DELETE_ERROR            =>'数据删除失败',
			DATA_UPDATE_ERROR            =>'数据更新失败',
			INNSERT_DATA_REPEAT          =>'添加数据重复，请勿重复添加',
			UPDATE_DATA_REPEAT           =>'已有相同字段数据存在,无法恢复',
			USER_UP_ERROR                =>'用户修改角色失败',
	];
}
/*
 * 后台RBAC常量
 */
namespace app\constant\rbac {
	const LEVEL_NODE_MODE        =1; //模块
	const LEVEL_NODE_CONTROLLER  =2; //控制器
	const LEVEL_NODE_ACTION      =3; //动作

	const LEVEL_NODE_VALUE=[
		    LEVEL_NODE_MODE        =>'模块',
			LEVEL_NODE_CONTROLLER  =>'控制器',
			LEVEL_NODE_ACTION      =>'动作',
	];
	
}

/*
 * 全局函数、常量
 */
namespace {
	use app\common\support\Arr;

	if(!function_exists("array_get")){
		/**
	     * 从数组中获取值  支持.操作
    	 *
    	 * $array = ['products' => ['desk' => ['price' => 100]]];
    	 *
    	 * $value = array_get($array, 'products.desk');
    	 *
    	 * // ['price' => 100]
	     *
	     * @param  \ArrayAccess|array  $array
	     * @param  string  $key
	     * @param  mixed   $default
	     * @return mixed
	     */
		function array_get($arrar,$key,$default=null){
            return Arr::get($arrar,$key,$default);
		}
	}
}